home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 03 - 1987 / 03.09 Sep 87 / arrays source / AryTest.Pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-07-07  |  1.1 KB  |  43 lines  |  [TEXT/EDIT]

  1. {###############################################################################}
  2. {#                                           #}
  3. {#    This program tests the Array Package                       #}
  4. {#                                           #}
  5. {###############################################################################}
  6.  
  7. program AryTest(input, output);
  8.  
  9. uses Macintf, Arrays;
  10. type
  11.   BigPtr = ^BigRec;
  12.   BigRec = record
  13.              r : real;
  14.              r2 : real;
  15.              other : array[1..20] of Longint;
  16.            end;
  17. var
  18.   myArray : handle;
  19.   i : longint;
  20.   Big : BigRec;
  21.   x : integer;
  22.   StackMark : integer;
  23. begin
  24.   SetApplLimit(Pointer(Ord4(@StackMark) - Ord4(16000))); {16k stack}
  25.   MaxApplZone;
  26.  
  27.   myArray := CreateNewArray(SizeOf(BigRec), 2000);
  28.  
  29.   writeln('Total Size of Record = ',SizeOf(BigRec));
  30.   writeln('Total Size of the array = ',GetHandleSize(myArray));
  31.   writeln;
  32.   writeln('press mouse to start');
  33.   repeat until button;
  34.  
  35.   for i := 0 to 2000 do
  36.     begin
  37.       Big.r := i / 1.0;
  38.       SetElement(myArray, i, @Big);
  39.       writeln(BigPtr(GetElement(myArray, i))^.r:7:2);
  40.     end;
  41.  
  42.   DisposeArray(myArray);
  43. end.